import Axios from 'axios'
import { showToast, closeToast  } from 'vant'

const baseURL = 'http://crm.magicureonc.com/api'

const axios = Axios.create({
  baseURL,
  withCredentials: false,
  timeout: 20000 // 请求超时 20s
})

// 请求拦截处理
axios.interceptors.request.use(
  (config) => {
    /**
     * 根据你的项目实际情况来对 config 做处理
     * 这里对 config 不做任何处理，直接返回
     */
   /*  config.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8' */
    return config
  },
  (error) => {
    return Promise.reject(error)
  }
)

// 响应拦截处理
axios.interceptors.response.use(
  (response) => {
    if (response.status === 200) {
      if (response.data.code === 0) {
        showToast(response.data.msg)
        return Promise.resolve(response.data)
      } else {
        closeToast()
        return Promise.resolve(response.data)
      }
    } else {
      return Promise.reject(response.data)
    }
  },
  (error) => {
    if (error.message.includes('timeout')) {
      showToast('网络超时')
      return Promise.reject(err)
    }
    if (error.response && error.response.data) {
      showToast('异常:' + error.response.data.message)
      console.error(`[Axios Error]`, error.response)
      if (error.response.status === 401) {
        window.location.reload()
      } else if (error.response.status === 500) {
        console.log(error,'error');
      }
    } else {
    }
    return Promise.reject(error)
  }
)

export default axios